/*
 * MIT License
 *
 * Copyright (c) 2024 tuxming@sina.com / wechat: angft1
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

package com.xm2013.admin.domain.model;

import com.xm2013.admin.domain.base.BaseUser;
import com.xm2013.admin.validator.V;
import com.xm2013.admin.validator.Validate;
import com.xm2013.admin.validator.ValidateGroup;
import com.xm2013.admin.validator.ValidateType;
import com.xm2013.admin.validator.ValidateUnion;
import com.xm2013.admin.validator.ValidateUnions;

/**
 * Generated by JFinal.
 */
@SuppressWarnings("serial")
@V(value={
	@ValidateGroup(name="create", validates = {
		@Validate(field="username", type=ValidateType.CHAR_AND_NUMBER, msg="用户名只能是数字字符"),
		@Validate(field="fullname", type=ValidateType.NOEMPTY, msg="姓名不能为空"),
		@Validate(field="email", type=ValidateType.REG, value="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", msg="邮箱地址不合法"),
		@Validate(field="phone", type=ValidateType.REG, value="1[\\d]{10}", msg="电话号码不合法"),
		@Validate(field="deptId", type=ValidateType.NULLABLE, msg="组织不能为空"),
		@Validate(field="password", type=ValidateType.EQUALS, value="repassword", msg="两次密码输入不一致"),
	})
})
@ValidateUnions(values={
	 @ValidateUnion(name="update", values= {"create", "update"}),
})
public class User extends BaseUser<User> {
	public static final User dao = new User().dao();
	
	/**
	 * 0-待审核
	 */
	public static final Integer STATUS_PENDING_REVIEW = 0;
	
	/**
	 *1-正常
	 */
	public static final Integer STATUS_NORMAL = 1;
	
	/**
	 * 2-禁用
	 */
	public static final Integer STATUS_DISABLE = 2;
	
	/**
	 * 3-删除
	 */
	public static final Integer STATUS_DELETE = 3;
}

